.icon {
  background: var(--color-background);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gray-700);
  cursor: pointer;
  border-radius: 50%;
  height: 32px;
  width: 32px;
  position: relative;
  box-shadow: 0 -2px 4px transparent;
  transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.icon:focus-visible,
.icon:hover {
  background: var(--color-gray-50);
  color: var(--color-text);
  box-shadow: 0 2px 4px var(--color-gray-200);
  outline: 0;
}

.icon:focus-visible {
  border: 2px solid var(--color-blue-700);
}

.icon.active {
  background: var(--color-green-700);
  color: white;
}

.icon.disabled {
  color: var(--color-gray-400);
  cursor: auto;
  box-shadow: none;
  pointer-events: none;
}

.icon.disabled:hover {
  background: inherit;
  box-shadow: none;
}
